<?php

namespace app\admin\model\shop;

use think\Model;


class Bill extends Model
{


    // 表名
    protected $name = 'shop_bill';

    // 自动写入时间戳字段
    protected $autoWriteTimestamp = 'integer';

    // 定义时间戳字段名
    protected $createTime = "create_time";
    protected $updateTime = "update_time";
    protected $deleteTime = false;

    // 追加属性
    protected $append = [
        'create_time_text',
        'update_time_text',
    ];


    protected static function init()
    {
        self::beforeWrite(function ($data) {
            $data['ttl_number'] = $data['des_number'] + $data['sport_number'] + $data['rtw_number'] + $data['acc_number'] + $data['fre_number'];
            $data['ttl_sale'] = $data['des_sale'] + $data['sport_sale'] + $data['rtw_sale'] + $data['acc_sale'] + $data['fre_sale'];
            $data['ttl_money'] = $data['des_money'] + $data['sport_money'] + $data['rtw_money'] + $data['acc_money'] + $data['fre_money'];
            if ($data['ttl_sale'] != 0) {
                $result = $data['ttl_number'] / $data['ttl_sale'];
                // 保留两位小数并输出
                $formattedResult = number_format($result, 2);
            } else {
                $formattedResult = 0;
            }
            $data['upt'] = $formattedResult;
        });
    }


    public function getCreateTimeTextAttr($value, $data)
    {
        $value = $value ? $value : (isset($data['create_time']) ? $data['create_time'] : '');
        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
    }


    public function getUpdateTimeTextAttr($value, $data)
    {
        $value = $value ? $value : (isset($data['update_time']) ? $data['update_time'] : '');
        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
    }

    protected function setCreateTimeAttr($value)
    {
        return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
    }

    protected function setUpdateTimeAttr($value)
    {
        return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
    }

    protected function setDateAttr($value)
    {
        return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
    }

//    public function getDateTextAttr($value, $data)
//    {
//        $value = $value ? $value : (isset($data['date']) ? $data['date'] : '');
//        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
//    }

//    protected function getTtlSaleAttr($value, $data)
//    {
//        return $data['des_sale'] + $data['sport_sale'] + $data['rtw_sale'] + $data['acc_sale'] + $data['fre_sale'];
//    }
//
//    protected function getTtlNumberAttr($value, $data)
//    {
//        return $data['des_number'] + $data['sport_number'] + $data['rtw_number'] + $data['acc_number'] + $data['fre_number'];
//    }
//
//    protected function getTtlMoneyAttr($value, $data)
//    {
//        return $data['des_money'] + $data['sport_money'] + $data['rtw_money'] + $data['acc_money'] + $data['fre_money'];
//    }

//    protected function getUptAttr($value, $data)
//    {
//        $number = $data['des_number'] + $data['sport_number'] + $data['rtw_number'] + $data['acc_number'] + $data['fre_number'];
//        $sale = $data['des_sale'] + $data['sport_sale'] + $data['rtw_sale'] + $data['acc_sale'] + $data['fre_sale'];
//
//
//        if ($sale != 0) {
//            $result = $number / $sale;
//            // 保留两位小数并输出
//            $formattedResult = number_format($result, 2);
//
//        } else {
//            $formattedResult = "总单不能为0";
//        }
//        return $formattedResult;
//    }


}
